<TITLE>getgroups</TITLE>
<body bgcolor="#ffffcc">
<hr>
<pre>



<h3>GETGROUPS(2)        Linux Programmer's Manual        GETGROUPS(2)
</h3>

<h3>NAME
</h3>       getgroups, setgroups - get/set group access list

<h3>SYNOPSIS
</h3>       #include &lt;unistd.h&gt;

       int getgroups(int size, gid_t list[]);


       #define __USE_BSD
       #include &lt;grp.h&gt;

       int setgroups(size_t size, const gid_t *list);

<h3>DESCRIPTION
</h3>       getgroups
              Up  to  size  supplemental  groups  are returned in
              list.  If size is zero, list is not  modified,  but
              the  total  number  of  supplemental groups for the
              process is returned.

       setgroups
              Sets the supplemental groups for the process.  Only
              the super-user may use this function.

<h3>RETURN VALUE
</h3>       getgroups
              On  success, the number of groups stored in list is
              returned (if size is zero, however, the  number  of
              supplemental  group IDs associated with the process
              is returned).  On error, -1 is returned, and  errno
              is set appropriately.

       setgroups
              On  success,  zero  is  returned.   On error, -1 is
              returned, and errno is set appropriately.

<h3>ERRORS
</h3>       EFAULT list has an invalid address.

       EPERM  For setgroups, the user is not the super-user.

       EINVAL For setgroups, gidsetsize is greater  than  NGROUPS
              (32 for Linux 0.99.11).

<h3>CONFORMING TO
</h3>       getgroups conforms to POSIX.1 (and is present in BSD 4.3).
       Since setgroups requires  privilege,  it  is  not  covered
       under POSIX.1.

<h3>BUGS
</h3>       The __USE_BSD flag probably shouldn't be required for set-
       groups.




<h3>Linux 0.99.11              23 July 1993                         1
</h3>




<h3>GETGROUPS(2)        Linux Programmer's Manual        GETGROUPS(2)
</h3>

</pre>
<hr>
<h3>SEE ALSO
</h3><p>
<a href=initgroups.htm>initgroups</a>, 
<pre>























































<h3>Linux 0.99.11              23 July 1993                         2
</h3>

</pre>
<P>
<hr>
<p>
<center>
<table border=2 width=80%>
<tr align=center>
<td width=25%>
<a href=../cref.html>Top</a>
</td><td width=25%>
<a href=../master_index.html>Master Index</a>
</td><td width=25%>
<a href=../SYNTAX/keywords.html>Keywords</a>
</td><td width=25%>
<a href=../FUNCTIONS/funcref.htm>Functions</a>
</td>
</tr>
</table>
</center>
<p>
<hr>

This manual page was brought to you by <i>mjl_man V-2.0</i>
